تک پدیا: Teraflops چیست و آیا معیار مناسبی برای سنجش عملکرد GPU به حساب میآید؟
اگر از گیمرهای اهل فن و علاقهمند به سخت افزار، مخصوصاً کارت گرافیک و پردازنده گرافیکی (GPU) باشید، حتماً تا به حال نام فلاپ یا ترافلاپ (Teraflop) یا عملیات ممیز شناور بر ثانیه را شنیده و با آن مواجه شدهاید. این اصطلاح فنی در سالهای اخیر تبدیل به سوژه بحث، جدال و درگیری بسیاری از گیمرهای PC و کنسول شده است اما بسیاری از افراد از معنی و مفهوم دقیق آن خبر ندارند و نمیدانند ترافلاپ چیست. مهمتر از معنی و مفهوم ترافلاپ، اهمیت آن برای سنجش قدرت و سرعت یک کارت گرافیک است. آیا میتوان ترافلاپس را به عنوان معیار قابل اطمینان و مناسبی برای سنجش عملکرد یک پردازنده گرافیکی در نظر گرفت؟ امروز در قسمت جدیدی از سری مطالب «تک پدیا» در لیون تک با شما هستیم تا به تمام سوالات شما درباره Teraflop پاسخ دهیم.
پیش از این که بحث اصلی را آغاز کنیم و به قسمت ترافلاپ چیست برسیم، بیایید یک توضیح مقدماتی درباره ترافلاپ بدهیم. رده بندی و میزان فلاپ (Flop یا به صورت کامل Floating Point Operation per Second)، عملکرد پردازنده گرافیکی شما را نشان میدهد و زمانی که قرار است کارت گرافیکها یا پردازندههای گرافیکی متعلق به یک نسل را مورد بررسی قرار دهیم، این عدد و میزان میتواند بسیار مهم تلقی شود. البته این تمام داستان نیست. با ما در ادامه همراه باشید.
ترافلاپ چیست ؟
برخلاف گیگاهرتز (GHz) که سرعت کلاک پردازنده را نشان میدهد، فلاپ یک مقیاس ریاضی مستقیم است که عملکرد یک کامپیوتر یا محاسبهگر را ارائه میکند. به صورت خاص، ترافلاپ به قابلیت پردازنده گرافیکی برای محاسبه یک تریلیون عملیات ممیز شناور بر ثانیه میگویند. به عنوان مثال، زمانی که میگوییم یک کارت گرافیک دارای 6 ترافلاپس است، این بدان معنی است که پردازنده گرافیکی مربوطه میتواند به صورت میانگین در هر ثانیه، 6 تریلیون عملیات ممیز شناور انجام دهد.
ترافلاپ تنها در محاسبه و رتبه بندی کارت گرافیک شرکتهای مختلف کاربرد ندارد بلکه در دنیای سخت افزار کنسولها نیز خود را نشان میدهد. همیشه اعلام شدن میزان ترافلاپس پردازنده گرافیکی کنسولهای یک نسل، بحث و جدل بسیاری را میان طرفداران به وجود میآورد؛ طرفدارانی که معمولاً از معنی واقعی این اعداد و ارقام اطلاعی ندارند و بزرگی آنها را دلیلی بر بهتر بودن کنسول مورد نظر خود میدانند.
به عنوان مثال، پردازنده گرافیکی کنسول نسل نهمی شرکت مایکروسافت که با نام ایکس باکس سری ایکس (Xbox Series X) شناخته میشود، 12 ترافلاپس است و این بدان معنی است که GPU این کنسول میتواند در هر ثانیه، 12 تریلیون عملیات ممیز شناور انجام دهد. به عنوان مقایسه میتوانیم بگوییم که پردازنده گرافیکی AMD Radeon Pro موجود در MacBook Pro شانزده اینچی شرکت اپل، حداکثر 4 ترافلاپس قدرت محاسباتی دارد و نسخه جدید Mac Pro میتواند به قدرت محاسباتی 56 ترافلاپس نیز دست پیدا کند!
محاسبات ممیز شناور چیست؟
محاسبات ممیز شناور یک راه متدوال برای اندازه گیری قدرت محاسباتی کامپیوترها است. در واقع، زمانی که برای اولین بار از فلاپس استفاده کردیم، این اصطلاح و مفهوم خیلی سریع به یک استاندارد عمومی و جهانی تبدیل و صحبت درباره رایانهها بدون گفتن این عبارت تقریباً غیر ممکن شد.
ممیز شناور یا اعداد حقیقی (Real Numbers)، مجموعهای از تمام اعداد هستند که اعداد صحیح (Integers)، اعداد اعشاری، اعداد گُنگ (مانند عدد pi) و غیره را دربرمیگیرند. محاسبات ممیز شناور به هر محاسبه متناهی گفته میشود که از اعداد ممیز شناور استفاده میکند. این اعداد در واقع از دید محاسباتی، اعشاری هستند. این روش به شدت نسبت به بررسی کردن محاسبات ممیز ثابت (Fixed-point) که تنها تمام اعداد صحیح را دربرمیگیرد، مؤثرتر و کارآمدتر است. چرا؟ زیرا کاری که رایانهها انجام میدهند، مرتباً با اعداد ممیز شناور و تمام موانع دنیای واقعی آنها درگیر است.
فلاپس تعیین میکند که یک پردازنده در یک ثانیه، چند معادله شامل اعداد ممیز شناور را حل میکند. اختلاف بسیاری در فلاپسهای مورد نیاز برای دستگاههای مختلف وجود دارد. به عنوان مثال، یک ماشین حساب قدیمی ممکن است تنها به 10 فلاپ برای عملیاتهای خود نیاز داشته باشد. بنابراین زمانی که درباره مگافلاپس (یک میلیون محاسبه ممیز شناور)، گیگافلاپس (یک بیلیون محاسبه ممیز شناور) و ترافلاپس (1 تریلیون محاسبه ممیز شناور) صحبت میکنیم، میتوانید نوع و میزان قدرتی که به آن میپردازیم را ببینید و درک کنید.
عدد فلاپ چگونه به دست میآید؟
شرکتهای تولید کننده و سازنده قطعات کامپیوتری و پردازشی مرتباً FLOPS را به عنوان یکی از مشخصات فنی قطعه خود به رسانهها و مخاطبان معرفی میکنند. با این حال، زمانی که با یک قطعه و بیلد کاملاً شخصی سازی شده و فاقد مشخصات فنی درست و حسابی طرف هستیم، میتوانیم با حل کردن یک معادله و حساب و کتاب ساده، میزان فلاپس یک پردازنده گرافیکی را به دست آوریم.
به شکل سادهتر و به صورت توضیحی باید بگوییم که ابتدا تعداد هستههای Shader یک GPU را با سرعت هستههای پردازشی آن ضرب کرده و پاسخ را در عدد 2 ضرب میکنیم. این چنین میزان فلاپس یک کارت گرافیک یا یک پردازنده گرافیکی به دست میآید و دلیل این که پاسخ را در 2 ضرب میکنیم این است که یک چیپ گرافیکی می تواند دو کار بالا، یعنی بخش Shader ها و هستههای پردازشی را با هم و به صورت همزمان انجام دهد. حالا با این اطلاعات، بیایید میزان قدرت محاسباتی پردازنده گرافیکی ایکس باکس سری ایکس را که پیشتر به آن اشاره شد، با محاسبات منطقی خود به دست آوریم.
- تعداد هستههای Shader پردازنده گرافیکی کنسول ایکس باکس سری ایکس: 3328 واحد
- سرعت کلاک پردازنده گرافیکی کنسول ایکس باکس سری ایکس: 1825 مگاهرتز
- ترافلاپس 12.1 =12147200 =2×1825×3328
آیا ترافلاپس معیار مناسبی برای سنجش عملکرد GPU است؟
پاسخ دادن به این سوال کمی سخت و پیچیده است. با این که ترافلاپس به صورت کلی یک متر و میزان دقیق و کاربردی برای سنجش یا مقایسه عملکرد یک پردازنده گرافیکی است اما توجه داشته باشید صرفاً نگاه کردن به عدد ترافلاپس یک کارت گرافیک یا پردازنده گرافیکی کنسول، همه چیز را درباره جزئیات، قدرت و سرعت آن GPU به ما نمیدهد. بنابراین صرفاً ترافلاپس معیار مناسبی برای سنجش و مقایسه عملکرد پردازندههای گرافیکی به حساب نمیآید.
اما واقعاً چرا مقایسه کارتهای گرافیک و چیپهای پردازنده گرافیکی تنها با استفاده از فلاپس مناسب نیست و نتیجه دقیقی به ما نمیدهد؟ یک GPU تنها از واحد محاسباتی یا همان فلاپ، تشکیل نشده است. هر پردازنده گرافیکی، اجزا و موارد پرشماری مانند ویدیو مموری (Video Memory)، واحدهای بافت (Texture Units) و ROP و… دارد و بازیهای ویدیویی، نرم افزارها و به صورت کلی، کاربرهای مختلف نیز هر کدام به نحوی خاص از این مقادیر بهره برده و استفاده میکنند.
به عنوان مثال، MSAA (نوعی Anti Aliasing) بار زیادی را روی پنهای باند یا Bandwidth کارت گرافیک قرار میدهد. یک کارت گرافیک مانند GTX 1050 سه گیگابایتی (مدل اختصاصی گیگابایت)، میزان واحد محاسبهگر یا ترافلاپ بیشتری نسبت به کارت گرافیک GTX 1050 دو گیگابایتی دارد اما همان کارت 3 گیگابایتی، پهنای باند حافظه کمتری دارد و همین موضوع باعث میشود تا در برخی از عناوین که به جای Vram، بیشتر روی پهنای باند تاکید دارند، عملکرد کارتِ «به ظاهر» قویتر، در رده پایینتری نسبت به عملکرد کارت «به ظاهر» ضعیفتر قرار بگیرد. اگر بخواهیم مثالی دیگر بزنیم، میتوانیم به کارتهای R9 Fury یا Fury X اشاره کنیم که پهنای باند 512 گیگابایت بر ثانیه آن، کمک خاصی به این کارت گرافیک نمیکند زیرا ROP کمی دارد و تعداد بالای واحدهای Shader نیز با آن در تضاد است. اگر به اطلاعات جزئی همین دو کارت گرافیک نگاه کنیم، مشاهده میشود که R9 Fury مقدار 12.5 درصد واحد محاسبهگر یا فلاپ کمتری نسبت به مدل X دارد اما در عمل، هیچگاه 12.5 درصد بدتر از X کار نمیکند و دلیل آن به وضوح در بالا توضیح داده شد.
اگر از گیمرهایی باشید که بدون توجه به جزئیات و اطلاعات سخت افزاری، نرخ فریم و ثبات آن برایشان مهم و حیاتی است، متغیرهای بیشتر، یعنی همان قطعات سخت افزاری قرار گرفته در کنار پردازنده گرافیکی نیز به معادله پیچیده ما اضافه میشوند. به عنوان مثال، زمانی که به سراغ یک بازی با تقاضای CPU بالا میرویم یا حتی زمانی که درایو ذخیره ساز ما نمیتواند با سرعت کافی دادهها را در اختیار پردازنده قرار دهد، همگی روی عملکرد کلی سیستم در اجرای یک بازی یا یک برنامه خاص تأثیر میگذارند. این موضوع در سخت افزار کنسولها که چیپ پردازنده واحد و یکپارچهای دارند اهمیت دوچندانی پیدا میکند.
حتی اگر از مسائل سخت افزاری و تمام جزئیات آنها هم عبور کنیم، به مسائل نرم افزاری مانند موتور گرافیکی بازیها و تکنیکهای مورد استفاده سازندگان میرسیم. تکنیکهای فنی و گرافیکی بسیاری وجود دارند که بخش بزرگی از آنها از آنها در بازیهای مختلف استفاده نمیشوند. به عنوان مثال، میدانیم که کارتهای شرکت AMD، تکنیک Tessellation را ضعیفتر از رقبای خود از شرکت انویدیا به نمایش درمیآورند و فناوری سنگین و پرتقاضایی مانند Ray Tracing، کمر پردازندههای گرافیکی AMD را نسبت به پردازندههای گرافیکی انویدیا بیشتر خم میکنند. با این حال، با بررسیهای انجام شده روی عنوانی مانند The Witcher 3 مشخص شده که اگر تکنیک Tessellation غیر فعال گردد، عملکرد سخت افزار AMD حتی میتواند از رقیب خود بهتر شود.
همان طور که مشاهده میکنید، عملکرد بازیهای ویدیویی، نه تنها به سخت افزارهای متفاوت و جزئیات بی شمار آنها بستگی دارد و تنها به نقطه اوج یا فلاپس خلاصه نمیشود، بلکه به انواع و اقسام تکنیکهای نرم افزاری نیز مرتبط است. این در حالی است که ما حتی در مورد دنیای عجیب درایورهای کارت گرافیک AMD و انویدیا صحبت نکردیم که چگونه میتوان با آنها عملکرد را بالا و پایین برد و طریقه استفاده از GPU را تغییر داد.
در آخر و به عنوان نتیجه گیری میتوان گفت که واحد محاسباتی یا فلاپس، هیچگاه نمیتواند اطلاعات دقیق و کاملی در مورد پردازنده گرافیکی به شما بدهد و عددی که در مشخصات پردازنده گرافیکی به عنوان فلاپس مشاهده میکنید، شاید مقداری باشد که پردازنده به دلایل مختلف مانند کاهش توان (برق) یا داغ شدن بیش از حد، هیچوقت نتواند به آن برسد. این مورد، چیزی است که در چیپهای پردازنده گوشیهای هوشمند به وضوح مشاهده میکنیم و حتی گوشیهای هوشمند با GPU بالارده و قدرتمند نیز برای کاهش بار دما و گرمای بیش از حد، سرعت هستههای پردازشی را پایین میآورند و این چیپ ممکن است هیچگاه به نقطه اوج توان محاسباتی خود نرسد.
حتی در کارتهای گرافیک بزرگ نیز هیچگاه قدرت حداکثری محاسباتی به صورت ثابت در نقطه اوج قرار ندارد و ممکن است فقط چند بار در طول یک دوره گیمینگ به آن جا برسد. در زمینه کنسولها نیز عملکرد حداکثری برای بحث انجام محاسبات، کمتر به عنوان یک فاکتور در نظر گرفته میشود چرا که کنسولها برای این که به محدودیتهای توانی (Power) و به هم خوردن کلی عملکرد نرسند، با سرعت معمولاً کمتری نسبت به نقطه اوج اعلام شده در حال کار هستند.
پس از خواندن این قسمت از تک پدیا، احتمالاً به سوال ترافلاپ چیست درون ذهنتان پاسخ داده شده حتما به این نتیجه رسیدهاید که ترافلاپس، صرفاً واحد اندازه گیری مفید و دقیقی برای تعیین معیار پردازندههای گرافیکی نیست. شاید ترافلاپس برای کسانی که اطلاعات چندانی از سخت افزار مورد استفاده خود ندارند، بتواند مفید جلوه کند اما وقتی که وارد دنیای بزرگ و بی انتهای سخت افزار و نرم افزار میشویم، درمییابیم که متغیرها و فاکتورهای بی شماری وجود دارند که ممکن است عملکرد یک بازی ویدیویی روی یک سخت افزار را تحت تاثیر قرار دهند.
امیدواریم از این مطلب و از این قسمت از سری مطالب تک پدیا نهایت استفاده و لذت را برده باشید و به دانش شما افزوده شده باشد. حتما نظرات و بازخوردهای خود را نسبت به مقوله ترافلاپ با ما به اشتراک بگذارید.